home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing;
-
- import com.sun.java.accessibility.Accessible;
- import com.sun.java.accessibility.AccessibleContext;
- import com.sun.java.accessibility.AccessibleState;
- import com.sun.java.swing.plaf.MenuItemUI;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.event.KeyEvent;
- import java.awt.event.MouseEvent;
-
- public class JMenuItem extends AbstractButton implements Accessible, MenuElement {
- private KeyStroke accelerator;
-
- public JMenuItem() {
- this((String)null, (Icon)null);
- ((JComponent)this).setRequestFocusEnabled(false);
- }
-
- public JMenuItem(Icon icon) {
- this((String)null, icon);
- ((JComponent)this).setRequestFocusEnabled(false);
- }
-
- public JMenuItem(String text) {
- this(text, (Icon)null);
- }
-
- public JMenuItem(String text, int mnemonic) {
- ((AbstractButton)this).setModel(new DefaultButtonModel());
- this.init(text, (Icon)null);
- ((AbstractButton)this).setBorderPainted(false);
- ((AbstractButton)this).setFocusPainted(false);
- ((AbstractButton)this).setHorizontalTextPosition(2);
- ((AbstractButton)this).setHorizontalAlignment(2);
- ((AbstractButton)this).setMnemonic(mnemonic);
- this.updateUI();
- }
-
- public JMenuItem(String text, Icon icon) {
- ((AbstractButton)this).setModel(new DefaultButtonModel());
- this.init(text, icon);
- ((AbstractButton)this).setBorderPainted(false);
- ((AbstractButton)this).setFocusPainted(false);
- ((AbstractButton)this).setHorizontalTextPosition(2);
- ((AbstractButton)this).setHorizontalAlignment(2);
- this.updateUI();
- }
-
- public KeyStroke getAccelerator() {
- return this.accelerator;
- }
-
- public AccessibleContext getAccessibleContext() {
- if (super.accessibleContext == null) {
- super.accessibleContext = new AccessibleJMenuItem(this);
- }
-
- return super.accessibleContext;
- }
-
- public Component getComponent() {
- return this;
- }
-
- public MenuElement[] getSubElements() {
- return new MenuElement[0];
- }
-
- public String getUIClassID() {
- return "MenuItemUI";
- }
-
- protected void init(String text, Icon icon) {
- ((Container)this).setLayout(new OverlayLayout(this));
- if (text != null) {
- ((AbstractButton)this).setText(text);
- }
-
- if (icon != null) {
- ((AbstractButton)this).setIcon(icon);
- }
-
- ((Component)this).addFocusListener(new MenuItemFocusListener());
- }
-
- public boolean isArmed() {
- ButtonModel model = ((AbstractButton)this).getModel();
- return model.isArmed();
- }
-
- public void menuSelectionChanged(boolean isIncluded) {
- this.setArmed(isIncluded);
- }
-
- public void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager) {
- ((MenuItemUI)((AbstractButton)this).getUI()).processKeyEvent(this, e, path, manager);
- }
-
- public void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager) {
- ((MenuItemUI)((AbstractButton)this).getUI()).processMouseEvent(this, event, path, manager);
- }
-
- public void setAccelerator(KeyStroke keyStroke) {
- if (this.accelerator != null) {
- ((JComponent)this).unregisterKeyboardAction(this.accelerator);
- }
-
- ((JComponent)this).registerKeyboardAction(new 1(this), keyStroke, 2);
- this.accelerator = keyStroke;
- }
-
- public void setArmed(boolean b) {
- ButtonModel model = ((AbstractButton)this).getModel();
- boolean oldValue = model.isArmed();
- if (super.accessibleContext != null && oldValue != b) {
- if (b) {
- super.accessibleContext.firePropertyChange("AccessibleState", (Object)null, AccessibleState.ARMED);
- } else {
- super.accessibleContext.firePropertyChange("AccessibleState", AccessibleState.ARMED, (Object)null);
- }
- }
-
- if (model.isArmed() != b) {
- model.setArmed(b);
- }
-
- }
-
- public void setEnabled(boolean b) {
- if (!b) {
- this.setArmed(false);
- }
-
- super.setEnabled(b);
- }
-
- public void setUI(MenuItemUI ui) {
- super.setUI(ui);
- }
-
- public void updateUI() {
- this.setUI((MenuItemUI)UIManager.getUI(this));
- }
- }
-